/*
若要访问对象的属性property，可以使用点表示法或括号表示法
点表示法: object.property
括号表示法: object[property]
*/

/*
在JavaScript中，属性名称必须是字符串。
如果尝试使用非字符串对象作为带有括号表示法的属性名称，则该对象将通过其toString()方法转换为字符串，如下所示：
*/
var obj = {};
obj['100'] = 'one hundred';
console.log(obj['100'])   //one hundred
console.log(obj[100])     //one hundred 不推荐

//下面的foo和bar 在使用时候都会toString转成'[object Object]'
//所以obj['[object Object]']='Foo'
var foo = {prop: 'f'};
var bar = {prop: 'b'};
console.log(foo.prop);  //f
console.log(foo.toString());  //[object Object]

obj[foo] = 'Foo';
console.log(obj['[object Object]']);  // Foo
console.log(obj[bar]);                // Foo


